(1) Field of the Invention
This invention relates to an audio coder and, more particularly, to an audio coder for performing coding by compressing audio signal information.
(2) Description of the Related Art
Audio is digitized for using mobile communication, CDs, and the like, so digital audio signals have become familiar to users. Low bit rate coding is performed to efficiently compress and transmit digital audio signals.
The low bit rate coding is a technique for eliminating the redundancy of information and compressing the information. By adopting this technique, distortion is perceived by man' sense of hearing as little as possible and transmission capacity can be saved. Various methods are proposed. The adaptive differential pulse code modulation (ADPCM) standardized in the ITU-T Recommendation G.726 is widely used as algorithm for the low bit rate coding of audio signals.
Each of FIGS. 18 and 19 shows the structure of a block included in an ADPCM coder-decoder. An ADPCM coder 110 includes an A/D converter 111, an adaptive quantization section 112, an adaptive inverse quantization section 113, an adaptive predictor 114, a subtracter 115, and an adder 116. The components enclosed with a dotted line make up a local decoder. An ADPCM decoder 120 includes an adaptive inverse quantization section 121, an adaptive predictor 122, a D/A converter 123, and an adder 124 (the local decoder in the ADPCM coder 110 serves as a decoder).
In the ADPCM coder 110, the A/D converter 111 converts input audio into a digital signal x. The subtracter 115 finds out the differential between the current input signal x and a predicted signal y generated on the basis of a past input signal by the adaptive predictor 114 to generate a predicted residual signal r.
The adaptive quantization section 112 performs quantization by increasing or decreasing a quantization step size according to the past quantized value of the predicted residual signal r so that a quantization error will be small. That is to say, if the amplitude of the quantized value of the previous sample is smaller than or equal to a certain value, a change is considered to be small. In this case, the quantization step size is narrowed by multiplying the quantization step size by a coefficient (scaling factor) smaller than one, and quantization is performed.
If the amplitude of the quantized value of the previous sample is greater than the certain value, a change is considered to be great. In this case, the quantization step size is widened by multiplying the quantization step size by a coefficient greater than one, and coarse quantization is performed.
The number of quantization levels used by the adaptive quantization section 112 depends on the number of bits used for coding. For example, if four bits are used for coding, then the number of quantization levels is sixteen. If the frequency of sampling performed by the A/D converter 111 is 8 kHz, then the bit rate of digital output (ADPCM code) z from the adaptive quantization section 112 is 32 Kbits/s (=8 kHz×4 bits) (if the bit rate of a digital audio signal outputted from the A/D converter 111 is 64 Kbits/s, then a compression ratio of 1/2 is obtained).
The ADPCM code z is also inputted to the adaptive inverse quantization section 113 included in the local decoder. The adaptive inverse quantization section 113 inverse-quantizes the ADPCM code z to generate a predicted quantization residual signal ra. The adder 116 adds the predicted signal y and the predicted quantization residual signal ra to generate a reproduced signal (local reproduced signal) xa.
The adaptive predictor 114 includes an adaptive filter. The adaptive predictor 114 generates a predicted signal y for the next input sample value on the basis of the reproduced signal xa and the predicted quantization residual signal ra and sends it to the subtracter 115, while continuously adjusting the prediction coefficient of the adaptive filter so as to minimize the power of the predicted residual signal.
On the other hand, the ADPCM decoder 120 performs the very same process that is performed by the local decoder in the ADPCM coder 110 on the ADPCM code z transmitted to generate a reproduced signal xa. The reproduced signal xa is converted into an analog signal by the D/A converter 123 to obtain audio output.
In recent years the ADPCM has widely been used for providing various audio services. For example, ADPCM sound sources are contained in cellular phones to use animal calls or human voices sampled as incoming calls, or realistic reproduced sounds are used for adding sound effects to game music. Accordingly, further improvement in audio quality is required.
Conventionally, a technique for adaptive-quantizing a signal obtained by adding half of a unit quantization step size to or subtracting half of the unit quantization step size from the differential between input audio and a predicted value to determine a code, updating the unit quantization step size in the current step on the basis of the code, and finding out the next predicted value from the predicted value and an inverse-quantized value has been proposed as a method for improving audio quality by the ADPCM (see, Japanese Unexamined Patent Publication No. 10-233696, paragraphs [0049]–[0089] and FIG. 1).
With the loop control in the ADPCM coder 110 according to the ITU-T Recommendation G.726 shown in FIG. 18, the ADPCM code is generated on the basis of information regarding the quantization of only one current sample (that is to say, only one sample at time n). If the amplitude increases sharply at time (n+1), that is to say, if a signal xn+1 greater than a predicted value is inputted, it is impossible to accommodate the change because a quantization step size Δn+1 at time (n+1) remains small. As a result, a great quantization error occurs. This signal is reproduced as a sound disagreeable to hear (an artificial sound) and audio quality deteriorates.
In addition, with the conventional technique (Japanese Unexamined Patent Publication No. 10-233696), a table necessary for updating a unit quantization step size must be included both in a coder and in a decoder. This is not necessarily desirable from the viewpoint of practicability.